package classificator.server;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**Gestisce l'avvio del server
 *
 * @author Administrator
 */
class MultiServer extends Thread{
    
    public static final int PORT = 8080;

    /**Costruttore di classe*/
    MultiServer() {
        super();
        this.start();
    }
    
    @Override
    public void run(){
        ServerSocket s = null;
        try {
            s = new ServerSocket(PORT);
            System.out.println("Server Started");
            while(true) {
                // Si blocca finchè non si verifica una connessione:
                Socket socket = s.accept();
                try {
                    new ServerOneClient(socket);
                } catch(IOException e) {
                    // Se fallisce chiude il socket, altrimenti il thread la chiuderà:
                    socket.close();
                }
            }
        } catch(IOException e){
            e.printStackTrace();
        } finally {
            try {
                s.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
    
    public static void main(String[] args){
        new MultiServer();
    }
}